home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib10.dsk / CONTROLLER EDITOR.bas < prev    next >
BASIC Source File  |  2023-02-26  |  3KB  |  31 lines

  1. 1  REM  *************************
  2. 2  REM  *  CONTROLLER/EDITOR    *
  3. 3  REM  *  BY DARREN DIVIGILI   *
  4. 4  REM  *  COPYRIGHT (C) 1982   *
  5. 5  REM  *  BY MICRO-SPARC INC   *
  6. 6  REM  *  LINCOLN, MA. 01773   *
  7. 7  REM  *  ALL RIGHTS RESERVED  *
  8. 8  REM  *************************
  9. 10  TEXT : HOME : VTAB 12: IF  PEEK(769) < >25  THEN  PRINT "YOU MUST FIRST LOAD": PRINT "THE CONTROLLER AND": PRINT "THEN RE-RUN THIS PROGRAM.": END 
  10. 20  HOME : PRINT : PRINT "THIS PROGRAM IS DESIGNED TO ASSIST YOU  IN ALTERING YOUR COMPUTER'S 'CTRL' KEYS SO THAT ANY TIME YOU TYPE ONE OF FIVE"
  11. 30  PRINT "KEYS OF YOUR CHOICE, THE COMPUTER WILL  TYPE OUT THE COMMAND ASSIGNED TO IT.": PRINT 
  12. 40  PRINT "REMEMBER THAT NO MATTER WHEN YOU TYPE A CONTROLLER COMMAND THE COMPUTER WILL ACTAS IF YOU HAD TYPED THE COMMAND YOURSELFSTARTING AT THE BEGINNING OF A LINE."
  13. 50  PRINT : PRINT "TO ENTER A COMMA OR A COLON, TYPE THEM  SHIFTED.  EXAMPLE: , = < AND : = *": PRINT 
  14. 60  HTAB 8: PRINT "TYPE ANY KEY TO BEGIN.": WAIT  -16384,128: POKE  -16368,0: POKE 34,6: HOME : PRINT 
  15. 70  PRINT "#"L +1" CONTROL COMMAND ";: INPUT CM$(L): IF CM$(L) = ""  THEN  PRINT : PRINT "I'M STILL WAITING." CHR$(7): PRINT : GOTO 70
  16. 80  IF  LEN(CM$(L)) >14  THEN  PRINT : PRINT "COMMAND TOO LONG." CHR$(7): PRINT : GOTO 70
  17. 90  FOR A =  LEN(CM$(L)) TO 14:CM$(L) = CM$(L) +" ": NEXT 
  18. 100  PRINT "#"L +1" CONTROL KEY ";: INPUT CK$(L): IF CK$(L) = ""  THEN  PRINT : PRINT "CUT THAT OUT." CHR$(7): PRINT : GOTO 100
  19. 110  IF  LEN(CK$(L)) >1  THEN  PRINT : PRINT "ONE LETTER ONLY." CHR$(7): PRINT : GOTO 100
  20. 120 IT =  ASC(CK$(L)): IF IT <65  OR IT >90  OR IT = 66  OR IT = 67  OR IT = 77  OR IT = 88  OR IT = 85  OR IT = 72  OR IT = 71  OR IT = 74  OR IT = 83  OR IT = 68  THEN  PRINT : PRINT "RESERVED KEY." CHR$(7): PRINT : GOTO 70
  21. 130  PRINT : IF L <4  THEN L = L +1: GOTO 70
  22. 140  HOME : PRINT : FOR L = 0 TO 4: PRINT "#"L +1" COMMAND -> "CM$(L)" KEY -> "CK$(L): NEXT 
  23. 150  PRINT : PRINT "IS THIS CORRECT (Y/N) ? ";
  24. 160  CALL  -756:IT =  PEEK( -16384): IF IT < >89  AND IT < >78  THEN 160
  25. 170  PRINT  CHR$(IT): IF IT = 78  THEN  RUN 
  26. 180 MN = 0: IF  PEEK(769) = 25  THEN MN = 23808
  27. 190  VTAB 15: PRINT : PRINT "WORKING...";:L = 0: FOR P = 24605 -MN TO 24621 -MN  STEP 4: POKE P, ASC(CK$(L)) +64:L = L +1: NEXT 
  28. 200  FOR L = 0 TO 4:DT$ = DT$ +CM$(L): NEXT L: FOR L = 24679 -MN TO 24752 -MN: POKE L, ASC( MID$ (DT$,L -(24678 -MN),1)) +128: NEXT 
  29. 210  FOR L = 24679 -MN TO 24752 -MN: IF  PEEK(L) = 188  THEN  POKE L,172
  30. 220  IF  PEEK(L) = 170  THEN  POKE L,186
  31. 230  NEXT : POKE 34,0: PRINT "DONE!": IF  PEEK(769) = 25  THEN  CALL 768: END